Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for adding rich annotations to the workflow #1311

Merged
merged 19 commits into from
Mar 31, 2023

Conversation

glopesdev
Copy link
Member

This PR implements a proposal for adding rich annotations to the workflow. It was designed to meet the following goals:

  • Require no changes to the current language syntax and semantics
  • Allow annotation of both workflow sections and individual operators
  • Support rich annotations in Markdown / HTML

The current design includes two major additions to the core and IDE.

AnnotationBuilder

This is a new operator which will behave in the same way as externalized properties. By itself it generates no observable output and no expression, but can be attached to other operators to represent an association of the annotation to that operator. The Text property represents the contents of the annotation itself, which are encoded as a CDATA section in the workflow XML format. This section can include plain text or rich Markdown (CommonMark) / HTML to be formatted and rendered by the IDE, or simply read as part of the text document.

WebView Panel

To render the annotations, we use Markdig to preprocess the annotation text into HTML, and WebView2 as the rendering framework. A new browser panel is added to each workflow editor canvas that is revealed when annotations are launched. This will render the preprocessed annotations but also function as a full in-app browser for documentation and future purposes.

Fixes #750
Closes #1170

@glopesdev glopesdev added the feature New planned feature label Mar 30, 2023
@glopesdev glopesdev added this to the 2.8 milestone Mar 30, 2023
@glopesdev glopesdev merged commit 82ac7f1 into bonsai-rx:main Mar 31, 2023
@glopesdev glopesdev deleted the feature-annotations branch March 31, 2023 19:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New planned feature
Projects
None yet
1 participant